;imos
;TAB=4

; 下边这段是标准 FAT12 格式软盘专用的代码

	DB	0xeb, 0x4e, 0x90
	DB	"IMOSAMOS"		;启动区名称（8字节）
	DW	512				;每个扇区（sector）大小（must 512字节）
	DB	1				;簇（cluster）的大小（must 1个扇区）
	DW	1				;FAT的起始位置（一般从第一个扇区开始）
	DB	2				;FAT的个数（must 2）
	DW	224				;根目录大小（一般设成224）
	DW	2880			;该磁盘的大小（must 2880扇区）
	DB	0xf0			;磁盘种类（must 0xf0）
	DW	9				;FAT的长度（must 9扇区）
	DW	18				;1个磁道（track）有几个扇区（must 18）
	DW	2				;磁头数（must 2）
	DD	0				;不是有分区，必须是0
	DD	2880			;重写一次磁盘大小
	DB	0,0,0x29		;未知，固定
	DD	0xffffffff		;卷标号码
	DB	"IMOSAMOS   "	;磁盘名称（11字节）
	DB	"FAT12   "		;磁盘格式（8字节）
	RESB	18			;先空出18字节

;程序主体

	DB	0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c
	DB	0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a
	DB	0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09
	DB	0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb
	DB	0xee, 0xf4, 0xeb, 0xfd

;信息显示部分

	DB	0x0a, 0x0a		;两个换行
	DB	"Hello World by amos!"
	DB	0x0a			;换行
	DB	0

	RESB	0x1fe-$		;增加（0x1fe - $）个 0x00 占位，$指当前行字节数
	DB	0x55, 0xaa		;第一个扇区最后两个字节为 55 AA，标识第一扇区为启动区

;以下是启动区以外部分的输出

	DB	0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
	RESB	4600
	DB	0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
	RESB	1469432